home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre4.z / postgre4 / src / rewrite / locks.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-08-27  |  2.0 KB  |  46 lines

  1. /* 
  2.  * $Header: /private/postgres/src/rewrite/RCS/locks.h,v 2.6 1991/11/07 20:12:01 glass Exp $
  3.  */
  4.  
  5. #define EventIsRetrieve        0x0         /* %00000000 */
  6. #define EventIsAppend        0x1        /* %00000001 */
  7. #define EventIsDelete        0x2        /* %00000010 */
  8. #define EventIsReplace        0x3        /* %00000011 */
  9.  
  10. #define LockIsRewrite        0x80        /* %10000000 */
  11.  
  12. #define LockIsActive        0x40        /* %01000000 */
  13.  
  14. #define DoReplaceCurrentOrNew    0x4        /* %00000100 */
  15. #define DoExecuteProc        0x8        /* %00001000 */
  16. #define DoOther            0x10        /* %00010000 */
  17. #define DoInstead        0x20        /* %00100000 */
  18. #define DoInsteadOther            (DoOther | DoInstead)
  19.  
  20. #define LockEventMask        0x3        /* %00000011 */
  21. #define LockSystemMask        0x80        /* %10000000 */
  22. #define LockActionMask        0x1c        /* %00111100 */
  23. #define LockActiveMask        0x40        /* %01000000 */
  24.  
  25. #define Event(lock)        (lock->lockType & LockEventMask)
  26. #define Action(lock)        (lock->lockType & LockActionMask)
  27. #define IsActive(lock)        (lock->lockType & LockActiveMask)
  28. #define IsRewrite(lock)        (lock->lockType & LockIsRewrite )
  29. #define IsInstead(lock)        (lock->lockType & DoInstead )
  30.  
  31. #define LockEventIsRetrieve(lock)     (Event(lock)==EventIsRetrieve)
  32. #define LockEventIsAppend(lock)     (Event(lock)==EventIsAppend)
  33. #define LockEventIsDelete(lock)     (Event(lock)==EventIsDelete)
  34. #define LockEventIsReplace(lock)     (Event(lock)==EventIsReplace)
  35.  
  36. /* locks.c */
  37. char PutRelationLocks ARGS((oid rule_oid , oid ev_oid , int ev_attno , int ev_type , bool is_instead ));
  38. bool ThisLockWasTriggered ARGS((int varno , AttributeNumber attnum , List parse_subtree ));
  39. List MatchRetrieveLocks ARGS((RuleLock rulelocks , int varno , List parse_subtree ));
  40. List MatchLocks ARGS((Prs2LockType locktype , RuleLock rulelocks , int varno , List user_parsetree ));
  41. List MatchReplaceLocks ARGS((RuleLock rulelocks , int current_varno , List user_parsetree ));
  42. List MatchAppendLocks ARGS((RuleLock rulelocks , int current_varno , List user_parsetree ));
  43. List MatchDeleteLocks ARGS((RuleLock rulelocks , int current_varno , List user_parsetree ));
  44.  
  45.  
  46.